package blog.service;

import blog.entity.Tag;

import java.util.List;

public interface TagService {
    /**
     * 查询所有的标签
     * @return 标签列表
     */
    List<Tag> findAllTag();

    /**
     * 根据标签Id删除标签
     * @param id 标签Id
     */
    void deleteTagById(Integer id);

    /**
     * 添加一个标签
     * @param tagName 标签名
     * @param tagDescription 标签描述
     */
    void addTag(String tagName, String tagDescription);

    /**
     * 根据标签名查询标签信息
     * @param name 标签名
     * @return 标签信息
     */
    Tag selectTagByName(String name);

    /**
     * 根据文章Id查询该文章所有标签信息
     * @param id 文章Id
     * @return 全部标签信息
     */
    List<Tag> getArticleTag(Integer id);

    /**
     * 根据标签Id获取标签信息
     * @param id 标签Id
     * @return 标签信息
     */
    Tag getTagById(Integer id);

    /**
     * 根据标签Id修改标签信息
     * @param tag 标签Id
     */
    void updateTag(Tag tag);
}
